home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / Think Class Libraries / CADSP 1.0 / Messenger Classes / CMessenger.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-11-30  |  1.2 KB  |  73 lines  |  [TEXT/KAHL]

  1. /***
  2.  * CADSP
  3.  *
  4.  *        AppleTalk Data Stream Protocol handler
  5.  *
  6.  *        ask this object to handle connections over appletalk
  7.  *
  8.  *        Copyright © 1992 Bernard Bernstein. All rights reserved.
  9.  ***/ 
  10.  
  11. #pragma once
  12.  
  13. #include "CADSP.h"
  14. #include "CNBP.h"
  15.  
  16. class CMessenger : private CADSP {
  17.     
  18. public:
  19.  
  20.  
  21.             /* allocate and deallocate stuff */
  22.  
  23.     void    IMessenger(void);
  24.     void    Dispose(void);
  25.  
  26.  
  27.             /* accessing stuff */
  28.     short        GetSocket(void);
  29.     AddrBlock    GetRemoteAddr(void);
  30.     CNBP         *GetNBP(void);
  31.     void        SetSocket(short aSocket);
  32.     void        SetRemoteAddr(AddrBlock anAddr);
  33.     
  34.  
  35.             /* NBP stuff */
  36.             
  37.     void    SetName(Str32 objName, Str32 typeName, Str32 zoneName);
  38.     void    PostName(void);
  39.     void    RemoveName(void);
  40.  
  41.  
  42.             /* establishing and terminating connection */
  43.  
  44.     void    MakeConnector(void);
  45.     void    KillConnector(void);
  46.     void    OpenSession(AddrBlock addr);
  47.     void    WaitForSession(void);
  48.     Boolean    StillWaitingForSession(void);
  49.     void    CloseSession(void);
  50.  
  51.  
  52.             /* maintaining a connection */
  53.  
  54.     void    ReceiveMessage(void *message, short amountToRead, short *amountRead);
  55.     void    SendMessage(void *message, short size);
  56.     Boolean    MessageWaiting(void);
  57.     
  58.  
  59. protected:
  60.  
  61.  
  62. private:
  63.  
  64.     Boolean        named;
  65.     Boolean        waitingForConnect;
  66.     
  67.     short        itsSocket;
  68.     AddrBlock    itsRemoteAddr;
  69.     CNBP        *itsNBP;
  70.  
  71. };
  72.  
  73.